import random


# 定义一个函数，用于模拟不放回抽样并计算三种颜色球中两个同色球出现的概率
def calculate_same_color_probability_three_colors(white_balls, red_balls, blue_balls, num_samples):
    total_balls = white_balls + red_balls + blue_balls
    same_color_count = 0

    for _ in range(num_samples):
        # 创建一个包含所有球的列表
        balls = ['W'] * white_balls + ['R'] * red_balls + ['B'] * blue_balls

        # 第一次随机抽取一个球
        ball1 = random.choice(balls)
        # 从列表中移除已抽取的球
        balls.remove(ball1)

        # 第二次随机抽取一个球
        ball2 = random.choice(balls)

        # 判断两个球是否同色
        if ball1 == ball2:
            same_color_count += 1

            # 计算两个同色球出现的概率
    probability = same_color_count / num_samples
    return probability


# 设置白球、红球和蓝球的数量，以及模拟抽样的次数
white_balls = 3
red_balls = 3
blue_balls = 2
num_samples = 1000  # 可以根据需要调整模拟次数

# 调用函数计算概率
probability = calculate_same_color_probability_three_colors(white_balls, red_balls, blue_balls, num_samples)

# 打印结果
print(f"在包含{white_balls}个白球、{red_balls}个红球和{blue_balls}个蓝球的袋子中，")
print(f"不放回抽样取到两个同色球的概率为: {probability:.4f}")